home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 49 / Amiga Format CD49 (2000-01-17)(Future Publishing)(GB)(Track 1 of 3)[!][issue 2000-02].iso / -serious- / misc / gedeiffel / tools / eiffel / arexx / short.ged < prev   
Text File  |  1999-11-29  |  2KB  |  65 lines

  1. /*
  2.  * short.ged -- Show short of class name under cursor.
  3.  *
  4.  * Copyright (C) 1999 Thomas Aglassiner <agi@sbox.tu-graz.ac.at>
  5.  * Freeware. Use at your own risk.
  6.  */
  7. version_info = "$VER: short.ged 1.0 (17.1.99)"
  8.  
  9. OPTIONS RESULTS                             /* enable return codes     */
  10.  
  11. if (LEFT(ADDRESS(), 6) ~= "GOLDED") then    /* not started by GoldEd ? */
  12.     address 'GOLDED.1'
  13.  
  14. 'LOCK CURRENT RELEASE=4'                    /* lock GUI, gain access   */
  15.  
  16. if (RC ~= 0) then
  17.     exit
  18.  
  19. OPTIONS FAILAT 21
  20.  
  21. SIGNAL ON SYNTAX                            /* ensure clean exit       */
  22.  
  23. /* ------------------------ INSERT YOUR CODE HERE: ------------------- */
  24.  
  25. 'QUERY WORD VAR=class_name'
  26.  
  27. legal_letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_1234567890'
  28. IF (Strip(Upper(class_name), 'B', legal_letters) = '') ,
  29.    & (class_name ~= '') THEN ,
  30. DO
  31.    temporary_file = 't:short-' || class_name || '.e'
  32.  
  33.    'REQUEST STATUS="Creating short form..."'
  34.  
  35.    ADDRESS COMMAND 'rx >nil: golded:tools/eiffel/arexx/execute.rexx Port=SMALLEIFFEL.1 ' || ,
  36.                    '"short >' || temporary_file || ' ' || class_name || '"'
  37.  
  38.    IF RC = 0 THEN DO
  39.       'REQUEST STATUS=""'
  40.       'WINDOW FORCE USE=' || temporary_file
  41.    END
  42.    ELSE DO
  43.       'REQUEST STATUS=""'
  44.       'REQUEST TITLE="Short Error" PROBLEM="Class ''' || class_name || ''' not found."'
  45.    END
  46.  
  47. END
  48. ELSE DO
  49.    'REQUEST TITLE="Short Error" PROBLEM="Cursor must be placed over a proper class name."'
  50. END
  51.  
  52.  
  53. /* ---------------------------- END OF YOUR CODE --------------------- */
  54.  
  55. 'UNLOCK' /* VERY important: unlock GUI */
  56.  
  57. exit
  58.  
  59. SYNTAX:
  60.  
  61.    SAY "Syntax error line" SIGL ":" ERRORTEXT(RC)
  62.    'UNLOCK'
  63.  
  64.    exit
  65.